package com.breadenglish.cms.api.app.sys.service;


import com.breadenglish.cms.api.app.domain.db.CodeClass;
import com.breadenglish.cms.api.app.domain.query.CodeClassQuery;

import java.util.List;

/**
 *  字典分类管理处理接口
 *  User: guoyao
 *  Date: 2013-12-17
 *  Time: 09:30
 */

public interface CodeClassService {
    /**
     * 字典分类列表查询
     * @param codeClass 字典分类信息
     * @return 字典分类信息集合
     */
    public List<CodeClassQuery> queryCodeClasses(CodeClass codeClass) throws Throwable;

    /**
     * 查询字典详情信息
     * @param codeClassId 字典分类ID
     * @return 字典分类详情信息
     */
    public CodeClass queryCodeClass(String codeClassId) throws Throwable;

    /**
     *  查询生成下拉菜单的字典分类信息
     *  @param codeClass 字典分类信息
     *  @return 字典分类信息
     */
    public List<CodeClass> queryCodeClasssForSelectMenu(CodeClass codeClass) throws Throwable;

    /**
     * 添加字典分类
     * @param codeClass 字典分类信息
     * @return void
     */
    public void insertCodeClass(CodeClass codeClass) throws Throwable;

    /**
     * 根据字典分类ID更新字典分类信息
     * @param codeClass 字典分类信息
     * @return void
     */
    public void updateCodeClass(CodeClass codeClass) throws Throwable;

    /**
     * 根据字典分类ID删除字典分类信息
     * @param codeClass 字典分类ID
     * @param codeClassIds 要删除的codeClassId组成的字符串
     * @return void
     */
    public void deleteCodeClass(CodeClass codeClass, String codeClassIds) throws Throwable;

    /**
     * 验证字典分类ID是否唯一
     * @param  classId    字典分类ID
     *  @Return void
     */
    public void uniqueClassId(String classId)  throws Throwable;
}